package com.canaan.business.service.inOutStock;

import java.util.List;
import com.canaan.business.domain.inOutStock.AdjustLocationBillDetail;

/**
 * 调库单明细Service接口
 * 
 * @author canaan
 * @date 2025-03-29
 */
public interface IAdjustLocationBillDetailService {
    /**
     * 查询调库单明细
     *
     * @param id 调库单明细主键
     * @return 调库单明细
     */
    AdjustLocationBillDetail selectAdjustLocationBillDetailById(Long id);

    /**
     * 查询调库单明细列表
     * 
     * @param adjustLocationBillDetail 调库单明细
     * @return 调库单明细集合
     */
    List<AdjustLocationBillDetail> selectAdjustLocationBillDetailList(AdjustLocationBillDetail adjustLocationBillDetail);

    /**
     * 新增调库单明细
     *
     * @param adjustLocationBillDetail 调库单明细
     * @return 结果
     */
    int insertAdjustLocationBillDetail(AdjustLocationBillDetail adjustLocationBillDetail);

    /**
     * 批量新增调库单明细
     *
     * @param adjustLocationBillDetailList 调库单明细列表
     * @return 结果
     */
    int batchInsertAdjustLocationBillDetail(List<AdjustLocationBillDetail> adjustLocationBillDetailList);

    /**
     * 修改调库单明细
     *
     * @param adjustLocationBillDetail 调库单明细
     * @return 结果
     */
    int updateAdjustLocationBillDetail(AdjustLocationBillDetail adjustLocationBillDetail);

    /**
     * 批量修改调库单明细
     *
     * @param adjustLocationBillDetailList 调库单明细列表
     * @return 结果
     */
    int batchUpdateAdjustLocationBillDetail(List<AdjustLocationBillDetail> adjustLocationBillDetailList);

    /**
     * 批量删除调库单明细
     * 
     * @param ids 需要删除的调库单明细主键集合
     * @return 结果
     */
    int deleteAdjustLocationBillDetailByIds(Long[] ids);

    /**
     * 删除调库单明细信息
     * 
     * @param id 调库单明细主键
     * @return 结果
     */
    int deleteAdjustLocationBillDetailById(Long id);

    /**
     * 查询调库单明细
     *
     * @param no 编号
     * @return 调库单明细
     */
    AdjustLocationBillDetail selectAdjustLocationBillDetailByNo(String no);

    /**
     * 批量删除调库单明细
     *
     * @param nos 需要删除的编号集合
     * @return 结果
     */
    int deleteAdjustLocationBillDetailByNos(String[] nos);

    /**
     * 删除调库单明细信息
     *
     * @param no 编号
     * @return 结果
     */
    int deleteAdjustLocationBillDetailByNo(String no);

}
